home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / ilisp / ilisp.el.z / ilisp.el
Encoding:
Text File  |  1998-05-21  |  6.2 KB  |  189 lines

  1. ;;; -*- Mode: Emacs-Lisp -*-
  2.  
  3. ;;; ilisp.el --
  4.  
  5. ;;; This file is part of ILISP.
  6. ;;; Version: 5.8
  7. ;;;
  8. ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
  9. ;;;               1993, 1994 Ivan Vasquez
  10. ;;;               1994, 1995, 1996 Marco Antoniotti and Rick Busdiecker
  11. ;;;               1996 Marco Antoniotti and Rick Campbell
  12. ;;;
  13. ;;; Other authors' names for which this Copyright notice also holds
  14. ;;; may appear later in this file.
  15. ;;;
  16. ;;; Send mail to 'ilisp-request@naggum.no' to be included in the
  17. ;;; ILISP mailing list. 'ilisp@naggum.no' is the general ILISP
  18. ;;; mailing list were bugs and improvements are discussed.
  19. ;;;
  20. ;;; ILISP is freely redistributable under the terms found in the file
  21. ;;; COPYING.
  22.  
  23.      
  24.  
  25. ;;; Author: Chris McConnell <ccm@cs.cmu.edu>
  26. ;;; Maintainer: The Net <ilisp@naggum.no>
  27. ;;; Created: 14 Jun 1994
  28. ;;; Version: 5.8
  29. ;;; Keywords: lisp common-lisp scheme comint
  30.  
  31. ;;; This file may become part of GNU Emacs in the near future.
  32.  
  33. ;;; GNU Emacs is distributed in the hope that it will be useful,
  34. ;;; but WITHOUT ANY WARRANTY.  No author or distributor
  35. ;;; accepts responsibility to anyone for the consequences of using it
  36. ;;; or for whether it serves any particular purpose or works at all,
  37. ;;; unless he says so in writing.  Refer to the GNU Emacs General Public
  38. ;;; License for full details.
  39.  
  40. ;;; Everyone is granted permission to copy, modify and redistribute
  41. ;;; GNU Emacs, but only under the conditions described in the
  42. ;;; GNU Emacs General Public License.   A copy of this license is
  43. ;;; supposed to have been given to you along with GNU Emacs so you
  44. ;;; can know your rights and responsibilities.  It should be in a
  45. ;;; file named COPYING.  Among other things, the copyright notice
  46. ;;; and this notice must be preserved on all copies.
  47.  
  48. ;;; *****************************************************************
  49. ;;; Please read the texinfo file (via m-x info in emacs or tex it and
  50. ;;; print it out) for installation instructions.
  51. ;;; *****************************************************************
  52.  
  53. ;;; This file defines a generic LISP interface that can be customized
  54. ;;; to match a specific LISP dialect.  Support is already provided for
  55. ;;; a number of common LISP dialects.  Lucid, Allegro and CMU are
  56. ;;; fully supported.  Other LISP dialects are missing features like
  57. ;;; arglist and find-source.
  58.  
  59. ;;; Since this is built on top of the general command-interpreter-in-
  60. ;;; a-buffer mode (comint mode), it shares a common base
  61. ;;; functionality, and a common set of bindings, with all modes
  62. ;;; derived from comint mode.  This makes it easier to use.
  63.  
  64. ;;; For documentation on the functionality provided by comint mode,
  65. ;;; and the hooks available for customizing it, see the file
  66. ;;; comint.el.
  67.  
  68. ;;; Throughout this file you will find comment lines with %'s on them.
  69. ;;; These lines define sections for outline mode which I use while
  70. ;;; programming to temporarily hide code.
  71.  
  72. ;;; See the documentation for ILISP mode, or read texinfo document for
  73. ;;; information.  All of the EMACS function names begin or end with
  74. ;;; lisp or ilisp to separate ilisp functions from functions in other
  75. ;;; packages.  Functions that work only in lisp buffers or that work
  76. ;;; in both lisp buffers and inferior lisp buffers use lisp, all other
  77. ;;; functions use ilisp.  If a function is intended to be used
  78. ;;; interactively, then the lisp or ilisp comes at the end of the
  79. ;;; function name, otherwise at the start.
  80.  
  81. ;;;%%KNOWN BUGS
  82. ;;; 
  83. ;;; If you type multiple things to the top level before you get a
  84. ;;; prompt, the LISP may be running with the status light indicating
  85. ;;; ready.  This is because I have no way to distinguish between input
  86. ;;; to a program and that to the top level.
  87. ;;;
  88. ;;; When running a lisp on Ultrix, you need to set ilisp-program to
  89. ;;; "/bin/sh -c your/path/your-lisp-image".
  90. ;;; 
  91. ;;; If you get lisp output breaking up in weird places it almost
  92. ;;; certainly means that comint-prompt-regexp is not precise enough.
  93. ;;;
  94. ;;; I would like to eat Lucid's return from break in the process
  95. ;;; filter, but I can't tell how many newlines to eat after.
  96.  
  97.  
  98. ;;;%%CONTRIBUTORS
  99.  
  100. ;; Recent contributors include (in alphabetical order):
  101.  
  102. ;; Marco Antoniotti, Robert P. Goldman, Larry Hunter, Eyvind Ness, 
  103. ;; Ivan Vazquez, Fred White
  104.  
  105.  
  106. ;;;%Requirements
  107. (if (string-match "\\`18" emacs-version)
  108.     (load "comint-v18") ; Included older version of comint.
  109.   (require 'comint))
  110.  
  111.  
  112. ;;; This is the old call. The new one is just below. It now dispatches
  113. ;;; on the correct type of Emacs.
  114. ;;;(load "ilisp-cpat")
  115. (load "ilcompat")
  116.  
  117. (load "comint-ipc")
  118.  
  119. ;; This is optional -- used only by io-bridge-ilisp
  120. (if (not (and (eq +ilisp-emacs-version-id+ 'fsf-19)
  121.           (>= +ilisp-emacs-minor-version-number+ 29)))
  122.     (load "bridge"))
  123.  
  124. (if (load "ilisp-all.elc" t)
  125.     t
  126.   (progn                ; I know it is useless in Elisp.
  127.     (load "ilisp-def")
  128.     (load "ilisp-el")
  129.     (load "ilisp-sym")
  130.     (load "ilisp-inp")
  131.     (load "ilisp-ind")
  132.  
  133.     (load "ilisp-prc")
  134.     (load "ilisp-val")
  135.     (load "ilisp-out")
  136.     (load "ilisp-mov")
  137.     (load "ilisp-key")
  138.     (load "ilisp-prn")
  139.     (load "ilisp-low")
  140.     (load "ilisp-doc")
  141.     (load "ilisp-ext")            ; Some emacs-lisp
  142.                     ; bindings. Lisp char syntax.
  143.     (load "ilisp-mod")
  144.     (load "ilisp-dia")
  145.     (load "ilisp-cmt")
  146.     (load "ilisp-rng")
  147.     (load "ilisp-hnd")
  148.     (load "ilisp-utl")
  149.     (load "ilisp-cmp")
  150.     (load "ilisp-kil")
  151.     (load "ilisp-snd")
  152.     (load "ilisp-xfr")
  153.     (load "ilisp-hi")
  154.     (load "ilisp-aut")
  155.  
  156.     ;; Dialects.
  157.     ;; The user will define their autoloads to load "ilisp" when trying
  158.     ;; to run their dialect.  This will load all of the dialects in.
  159.     (load "ilisp-cl")
  160.     (load "ilisp-cmu")
  161.     (load "ilisp-acl")
  162.     (load "ilisp-hlw")
  163.     (load "ilisp-kcl")
  164.     (load "ilisp-luc")
  165.     (load "ilisp-sch")
  166.     ))
  167.  
  168. ;;; Create the keymaps before running the hooks.
  169. ;;; This is necessary if you want the lispm bindings in the load
  170. ;;; hook. Otherwise you need to put it AFTER the running of the hooks
  171.  
  172. ;;; (if (not ilisp-mode-map) (ilisp-bindings))
  173.  
  174.  
  175. ;;; Now run the hooks.
  176.  
  177. (run-hooks 'ilisp-site-hook)
  178. ;;; (run-hooks 'load-hook)
  179. (run-hooks 'ilisp-load-hook)        ; It seem s more reasonable.
  180.  
  181. (if (not ilisp-mode-map) (ilisp-bindings))
  182.  
  183. ;;; Optional:
  184. ; (load "ilisp-menu")
  185. (if (not (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new)))
  186.     (load "ilisp-mnb"))
  187.  
  188. (provide 'ilisp)
  189.